1. Technical Field of the Invention
This invention pertains to client/server communications in a web environment. More particularly, it relates to loading application code to browser frames for execution at the client and optimize client/server communications.
2. Background Art
A server/client requisition and catalog (ReqCat Web, or RCW) application has heretofore been server intensive. Even the simplest operation (e.g. calculation of the final price as quantity times unit price) has been done by Lotus Notes agents at the server. JavaScript code has been used in the browser to perform some of these simple calculation, for in-browser validation of data prior to going to the server, to minimize wasted server interaction when the data was not correct, and to perform more complicated calculations, validation, and complex business logic. Unfortunately, all this JavaScript code needed to be sent to the browser with each screen. Many of the screens contained hundreds of kilobytes of information for most common or screen specific JavaScript functions. In this arrangement, not only is it necessary to wait for the server to send the information, but also a very significant wait time is experienced while this information traverses the web. It has not been uncommon for the client user to wait many seconds between each click or field data change.
“Cookies” and other forms of downloaded software have previously been used, however these are loaded to the hard drive, consuming storage space at the client even when the application is not active, and are limited as to the amount of information that can be stored and how it can be used.
In such systems, very slow performance is observed when all primary user and data logic operations are performed on the server. Every time data is manipulated, such as by changing a quantity field and a need to recalculate a computed total price field, a trip to and from the server is required. There is a need, therefore, for a system and method for putting the application code in the browser on a web page where user and/or data logic can be executed while working on that page thus giving the user essentially instantaneous response.
When, as is often required, significant quantities of data, together with formatting code and business or validation logic code must be transferred to the browser each time a new page is loaded, performance degrades. Complicated pages required such significant quantities, often in excess of 200K bytes. There is a need to reduce the number of trips between server and browser when performing operations on a page or occasioned by loading new pages by storing reusable code in the browser where it can be called locally when needed by code in the browser.
Consequently, there is a need in the art for a system and method for improving server/database utilization and application performance (from a client browser, or users, perspective).
It is an object of the invention to provide a system and method for minimizing client browser interaction with the server.
It is a further object of the invention to provide a system and method for optimizing client browser interaction with a server by storing data and executable code in frames.